package com.uzai.console.entity.es;

import com.uzai.common.utils.EsIndexName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * 发单官方采集群群消息ES对象
 * @Auther: lucher
 * @Date: 2022/1/16 17:08
 * @Description:
 */
@Data
@Document(indexName = EsIndexName.FD_FOLLOW_OFFICIAL_GROUP_MSG, shards = 3, replicas = 2)
public class EsFdFollowOfficialGroupMsg {

    //id
    @ApiModelProperty("主键ID")
    @Id
    @Field(type = FieldType.Keyword)
    private String id;

    /**
     * 消息ID
     */
    @ApiModelProperty("消息ID")
    @Field(type = FieldType.Keyword)
    private String messageId;

    /**
     * 微信群id
     */
    @ApiModelProperty("微信群id")
    @Field(type = FieldType.Keyword)
    private String groupWxid;

    /**
     * 微信群昵称
     */
    @ApiModelProperty("微信群昵称")
    @Field(type = FieldType.Text)
    private String groupName;

    /**
     * 发消息用户的wxid
     */
    @ApiModelProperty("发消息用户的wxid")
    @Field(type = FieldType.Keyword)
    private String sendMsgUserWxid;

    /**
     * 发消息用户的昵称
     */
    @ApiModelProperty("发消息用户的昵称")
    @Field(type = FieldType.Text)
    private String sendMsgUserNick;

    /**
     * 消息发送时间
     */
    @ApiModelProperty("消息发送时间")
    @Field(type = FieldType.Integer)
    private Integer sendMsgTime;

    /**
     * 微信消息类型
     */
    @ApiModelProperty("微信消息类型")
    @Field(type = FieldType.Integer)
    private Integer msgType;

    /**
     * 消息内容
     */
    @ApiModelProperty("消息内容")
    @Field(type = FieldType.Text)
    private String content;

    /**
     * 该消息是否需要转链（0不需要；1需要）
     */
    @ApiModelProperty("该消息是否需要转链（0不需要；1需要）")
    @Field(type = FieldType.Integer)
    private int isTurnLink;

    @ApiModelProperty("创建时间")
    @Field(type = FieldType.Integer)
    private int createTime;

    @ApiModelProperty("修改时间")
    @Field(type = FieldType.Integer)
    private int updateTime;


}
